home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 9 / Night Owl CD-ROM (NOPV9) (Night Owl Publisher) (1993).ISO / 042a / rkpls301.zip / RKPLUS.VER < prev    next >
Text File  |  1993-03-04  |  13KB  |  258 lines

  1.  
  2.  
  3.                             RkPlus Version Log
  4.  
  5.  
  6. ------------------------------------------------------------------------------
  7.  
  8.  
  9.                       RkPlus version 3.01 (4-March-1993)
  10.  
  11. We corrected a bug in the Rkp3Enc encoding unit, which slipped past our beta 
  12. testers.  Under certain conditions, one of the pointers used in encoding the 
  13. first 4 characters of the key could possibly exceed the valid range of the data 
  14. it was pointing to.  Depending on the arrangement of constants within the 
  15. programme, this would sometimes cause a key generated in one programme to be 
  16. considered invalid by another.  This problem ONLY existed in programmes which 
  17. used Rkp3Enc.
  18.  
  19. We also made minor changes to the RkPlus unit to assure key file compatibility 
  20. with future RkPlus libraries (for other languages).
  21.  
  22. Finally, the 3.01 archive contains the Turbo Pascal(tm) 1.0 for Windows(tm) 
  23. version that we were unable to include in the 3.0 archive.
  24.  
  25. ------------------------------------------------------------------------------
  26.  
  27.  
  28.                       RkPlus version 3.0 (4-February-1993)
  29.  
  30. This is a MAJOR update to RkPlus.  Although version 3.0 is still compatible 
  31. with versions 2.0 to 2.4 (mainly through the use of the Rkp2Enc unit), we have 
  32. made several changes to the way keys are generated (allowing the programmer to 
  33. create programmes with more secure keys) :
  34.  
  35.   (1) We have added hooks for user-written Encode functions.  An encode
  36.       function (there should be 3) needs to take 3 strings, a byte and
  37.       an integer; returning a word.  You can cause RkPlus to use
  38.       your encoding functions by calling the SetEncode procedure.  If
  39.       you want RkPlus to use version 2.x/compatible encoding functions,
  40.       you should Use the Rkp2Enc unit (must be listed AFTER RkPlus).  If
  41.       you want to use the new 3.x encoding functions, you should Use the
  42.       Rkp3Enc unit (must be listed AFTER RkPlus).
  43.  
  44.   (2) There is no longer an OwnerCode or ProgramCode in RkPlus.  You may
  45.       use any constants of your own devising in your encoding functions.
  46.       To maintain compatibility with 2.x, the RkpEnc2 unit contains
  47.       definitions for OwnerCode and ProgramCode.  Rkp3Enc uses SetOwnerCode,
  48.       SetProgCode and SetVerCode procedures to define its encryption
  49.       constants.
  50.  
  51.   (3) It is now possibly to have expiring keys which have an expiration
  52.       day (as well as month and year).  Because the expiration date for
  53.       a key is binary encrypted directly into the key number, adding
  54.       an expiration day caused a decrease in the number of bits available
  55.       to store the month and year.  Therefore, when using expiration
  56.       days the range of years is less than when using only expiration
  57.       months and years.  The boolean UseExpDays determines whether
  58.       RkPlus will use expiration days (which will allow a 21 year range)
  59.       or the version 2.x/compatible approach of expiration month and
  60.       year only (which allows a 340 year range).  UseExpDays defaults to
  61.       True, but the Rkp2Enc unit sets it to False (for compatibility
  62.       with version 2.x).
  63.  
  64. We have also added BaseYear (default is 1990), which is used to determine the 
  65. actual date as stored in a registration key.  It is very important that 
  66. UseExpDays and BaseYear are set to the same value in the programme that 
  67. generates keys and in the programme that uses them.  Otherwise, different 
  68. expiration date values will be calculated.
  69.  
  70. Due to naming conflicts with the error return values of RkPlus (in Rkp.Status) 
  71. and the error return values of other units that we were developing, we have 
  72. changed the way that errors are returned.  This will allow compatibility among 
  73. all units produced by Serious Cybernetics.  Registration status is now returned 
  74. in the boolean Rkp.Registered (in the Rkp record).  The function RkpOK will 
  75. return False if an error has occured and RkpError will return the value of the 
  76. error that occured (as a word).  Values of $0001 to $00FF indicate a Turbo 
  77. Pascal (tm) error and are the same as errors returned by IoResult.  Other 
  78. errors will return higher values (see RKPLUS.DOC for details).  RkPlus defines 
  79. constants for the more common errors (also documented in RKPLUS.DOC).  Due to 
  80. these changes, references to Rkp.Status will need to be changed to 
  81. Rkp.Register, RkpOK and/or RkpError where applicable.
  82.  
  83. We (finally!) added the BrandRegInfo procedure (originally to be called 
  84. CloneRegInfo).  This procedure will brand an EXE file with the contents of the 
  85. Rkp record.
  86.  
  87. RkPlusVer is now a Function.
  88.  
  89. VerifyKey and SaveRegInfo will no longer return an InvalidKey error, if if 
  90. Rkp.Key equals '' or '000000000000' (instead, Rkp.Registered will be set to 
  91. False).
  92.  
  93. We have removed the variables KeyFile and Rkp.KeyPath to allow RkPlus to store 
  94. this information internally as individual path, name and extension.  This is 
  95. necessary to allow the new BrandRegInfo to correctly use the key file name 
  96. (with an extension of '.EXE'), without having to store duplicate information. 
  97. The name of the key file is now accessed through a procedure and 2 functions. 
  98. SetKeyFile will set the key file name (with optional path and extension), 
  99. KeyFileName will return the full path, filename and extension of the key file 
  100. and ExeFileName will return the path and filename of the key file (with the 
  101. extension .EXE').
  102.  
  103. We have also added the boolean UseExePath, to specify where RkPlus reads/writes 
  104. key files when no path is specified (using SetKeyFile).  If UseExePath is True 
  105. (default), RkPlus will use the path from which the programme was executed.  If 
  106. UseExePath is False, RkPlus will use the current path.  If a path is specified 
  107. for the key file, UseExePath will be ignored.
  108.  
  109. Programmes written with unregistered copies of RkPlus will now display the 
  110. message "RkPlus 3.0 * Unlicenced Evaluation Copy" when they are first executed. 
  111. There is no delay or beep.  This is NOT intended as an annoyance, simply as a 
  112. gentle reminder that RkPlus is ShareWare and should be registered if it is 
  113. actually used for software development.  Programmes written with registered 
  114. copies of RkPlus will not display this message.  (see REGISTER.DOC for more 
  115. information about registering RkPlus).
  116.  
  117. Version 1.5 of Turbo Pascal(tm) for Windows(tm) and Version 7.0 of Borland 
  118. Pascal(tm) [all modes] are now supported by RkPlus.  In order to make the TPW 
  119. version compatible with the other versions, it was necessary to create a 
  120. "compatibility" unit (WDCompat) which is included in the RKP15TPU.ZIP and 
  121. RKP70TPU.ZIP archives.  This unit is used automatically by the TPW versions of 
  122. RkPlus and requires no intervention on the part of the programmer.
  123.  
  124. Finally, we have added the variable KeyFileCode, to help generate more secure 
  125. key files.  KeyFileCode will be used by RkPlus to "scramble" the key file 
  126. (Important: KeyFileCode must be set to the same value in all programmes which 
  127. will access the key file, or they will be incompatible).  For more information 
  128. on KeyFileCode, see the RKPLUS.301 file included with this archive.
  129.  
  130.  
  131. ------------------------------------------------------------------------------
  132.  
  133.  
  134.                       RkPlus version 2.4 (13-June-1991)
  135.  
  136. Due to a conflict between the naming of the RkPlus Registration Record as "Reg" 
  137. and the use of "Reg" in other programmes/units as a record for holding 
  138. registers, we have changed the name to "Rkp".  Therefore all occurances of 
  139. "Reg." in your existing programmes will need to be replaced with "Rkp." This 
  140. can be done easily in the IDE by pressing CTRL-Q then CTRL-A then typing "Reg." 
  141. (without the quotes) and pressing ENTER then typing "Rkp." (without the quotes) 
  142. and pressing ENTER then typing "GNU" (without the quotes) and pressing ENTER.
  143.  
  144. Also, due to a bug in the encryption algorythm, programmes which had an 
  145. OwnerCode and/or ProgramCode of less than 10 characters MAY have produced 
  146. incorrect keys under certain conditions.  This has been fixed in version 2.4, 
  147. but new keys MAY have to be generated for such programmes.  This problem did 
  148. not exist (to the best of our knowledge) when the OwnerCode and ProgramCode 
  149. were both longer than 10 characters.
  150.  
  151. In addition, we fixed a bug where an expiration month of 12 (December) would 
  152. produce an invalid key.
  153.  
  154. Rkp.Status may now contain an additional result code.  If any of the RkPlus
  155. procedures/functions return BadTPU in Rkp.Status, it indicates that the
  156. RKPLUS.TPU file may have been tampered with or may be corrupt.  If this
  157. occurs, you should immediately replace the questionable .TPU file.
  158.  
  159. The various demo programmes now demonstrate more secure methods of assigning
  160. the OwnerCode.
  161.  
  162.  
  163. ------------------------------------------------------------------------------
  164.  
  165.  
  166.                       RkPlus version 2.3 (4-April-1991)
  167.  
  168. The KeyFile variable is now String[12], instead of String[8].  This will allow
  169. you to include an extension for the key file, as well as a name. If no
  170. extension is specified, the default extension (.REG) will be used.
  171.  
  172. BadSystemDate is now a Function.
  173.  
  174. We have also added the Integer KeyFileSize.  If KeyFileSize is greater than 337 
  175. (the minimum possible key file size), then any key files that are created will 
  176. have random bytes appended to the end of the file to a length of KeyFileSize. 
  177. KeyFileSize is ignored if it is less than or equal to 337 and RkPlus ONLY reads 
  178. the first 337 bytes.  Any random bytes, at the end of the file, are ignored.
  179.  
  180. In addition, we have added the function GetKeyFileSize.  This will return the 
  181. size of the key file (defined in the KeyFile variable), including any random 
  182. bytes that were appended to the end of the file due to KeyFileSize.  A value of 
  183. -1 indicates that the information was not available (most likely the file did 
  184. not exist).  GetKeyFileSize does NOT alter or use the Reg record.
  185.  
  186.  
  187. ------------------------------------------------------------------------------
  188.  
  189.  
  190.                       RkPlus version 2.2 (19-February-1991)
  191.  
  192. Starting with version 2.2, we are including a Turbo Pascal (tm) 5.0 version of 
  193. RkPlus.  All versions of RkPlus (for TP50, TP55 and TP60) are now RKPLUS.TPU. 
  194. The 5.0 version is contained in RK50PLUS.ZIP.  The 5.5 version is contained in 
  195. RK55PLUS.ZIP and the 6.0 version is contained in RK60PLUS.ZIP.  All three 
  196. archives are contained in the RkPlus distribution archive (RKPLUS22.ZIP)
  197.  
  198. We are now including a help text file (RKPLUS.TXT), for those of you who are 
  199. using any of the Turbo Power (tm) libraries.  It is in a format usable by the 
  200. Turbo Power (tm) MAKEHELP programme.  The compiled RKPLUS.HLP file and Turbo 
  201. Power (tm) POPHELP programme are available as RKHELP22.ZIP.
  202.  
  203. Also, GetRegInfo will no longer set the Reg record to "garbage" when a key file
  204. is invalid or corrupt.
  205.  
  206.  
  207. ------------------------------------------------------------------------------
  208.  
  209.  
  210.                       RkPlus version 2.1 (9-February-1991)
  211.  
  212.  
  213. The only real change in version 2.1 is a reduction in the size of the TPU, due
  214. to rearranging some of the internal constants and disabling internal range
  215. checking.  This release is primarily to allow for some changes and corrections
  216. to the documentation, and the addition of some new sample programmes.
  217.  
  218. We have added 2 new sample programmes, that demonstrate a couple of additional 
  219. methods of handling keys.  RkpDemo2 has a built-in "brand" routine, instead of 
  220. using an external "brand" programme or pre-generated key files.  RkpDemo3 saves 
  221. registration information in its own configuration file, instead of using a key 
  222. file.  For simplicity, all three demo programmes (RkpDemo, RkpDemo2 and 
  223. RkpDemo3) are identical (except, of course, for key handling method) and use 
  224. identical keys.  Therefore, a key file (RKPDEMO.REG) created for RkpDemo can 
  225. also be used by RkpDemo2 and registration key numbers created for RkpDemo can 
  226. also be used by both RkpDemo2 and RkpDemo3.
  227.  
  228. Also, we accidentally overlooked SetRegInfo, when we wrote the initial 
  229. documentation.  A description and examples of using SetRegInfo are now included 
  230. in RKPLUS.DOC.
  231.  
  232.  
  233. ------------------------------------------------------------------------------
  234.  
  235.  
  236.                       RkPlus version 2.0 (8-February-1991)
  237.  
  238.  
  239. Initial release of RkPlus.  This is a total re-write of the rKey programme.  It
  240. features alphanumeric keys, multiple encryption strings, expiring keys, etc.
  241.  
  242. If you don't feel that you need the enhanced features, a new smaller version
  243. of rKey is also available.
  244.  
  245.  
  246. ------------------------------------------------------------------------------
  247.  
  248.  
  249. RkPlus (c) 1991-93 Serious Cybernetics
  250. Rkp2Enc (c) 1990-93 Serious Cybernetics
  251. Rkp3Enc (c) 1993 Serious Cybernetics
  252. rKey (c) 1990-92 Serious Cybernetics
  253. Turbo Pascal (c) 1983-89 Borland International
  254. Microsoft Windows (c) 1985-92 Microsoft Corporation
  255. MAKEHELP, POPHELP (c) 1989 TurboPower Software
  256.  
  257.  
  258.